using iBing.Common.Common;
using System;
using System.Collections.Generic;
using System.Text;

namespace iBing.PluginFramework
{
    public interface IPluginService
    {
        IApplication Application { get;set;}
        Boolean Contains(String pluginName);
        Boolean UsePlugin(String pluginName, Dictionary<String, Object> parameters);
        Boolean LoadPlugin(string pluginName, string pluginFile, string pluginType);
        Boolean UnLoadPlugin(String pluginName);
        bool UnLoadAllPlugin();
        IPlugin GetPluginInstance(String pluginName);
        Dictionary<String, IPlugin> Plugins { get;set;}
        void ChangePluginName(String oldPluginName, String newPluginName);
    }
}
